Skip to content

Lilly-dox/Exploit-CVE-2023-22518

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 

Repository files navigation

Exploit-CVE-2023-22518

CVE-2023-22518 in Confluence

CVE-2023-22518 : Lỗ hổng này được mô tả là “lỗ hổng về việc ủy quyền không đúng cách trong cơ sở dữ liệu và máy chủ của Confluence”. Lỗi ảnh hưởng tới các phiên bản On-premises của các sản phẩm Atlassian.

Set up môi trường Sử dụng version bị lỗi 8.0.4 URL Download : https://product-downloads.atlassian.com/software/confluence/downloads/atlassian-confluence-8.0.4-x64.exe

1

Chọn Trial Installation, sau đó click vào link để lấy free trial key . Sau đó setup cluster : chọn non-cluster 2

Sau đó đến với setup database -> Chọn MySQL

3

Làm theo hướng dẫn :

  1. Download the MySQL driver
  2. Drop the .jar file in /home/lily/atlassian/confluence/confluence/WEB-INF/lib
  3. Restart Confluence and continue the setup process.

4 Cấu hình database, tạo user và password table

CREATE DATABASE securedb CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'admin123'@'localhost' IDENTIFIED BY 'supersecure';
GRANT ALL PRIVILEGES ON securedb.* TO 'admin123'@'localhost';
GRANT SUPER ON *.* TO 'your_username'@'your_host';
FLUSH PRIVILEGES;

Sau đó edit /etc/mysql/my.cnf . Thêm các dòng sau vào :

transaction-isolation = READ-COMMITTED
log_bin_trust_function_creators = 1

5

Sau đó restart Mysql và Conflunce . Rồi vào trang cài đặt ở localhost:8090 và sử dụng database đã tạo điền vào

6

Check connection success , click Next . Sau đó Sign up .

7

Debug

*Diff diff hai file jar của 2 version lên IntelliJ . Cụ thể ở đây tôi diff 2 version 8.0.4 và 7.19.16 Theo mô tả , diff file confluence.jar của 2 version với nhau

image

Sự khác biệt giữa bản vá và bản chưa vá là @WebSudoRequired và @SystemAdminOnly websudorequired là tính năng để nâng cao bảo mật của administrator sessions. Khi cố truy cập vào admin , hệ thống sẽ yêu cầu nhập lại mật khẩu dù bạn đã đăng nhập vào hệ thống. Bổ sung một bước xác thực bổ sung để đảm bảo về quyền truy cập quản trị

SystemAdminOnly : Là tính năng , nó giới hạn chức năng quản trị chỉ cho các tài khoản quản trị viên. Điều này giúp đảm bảo chỉ các tài khoản được ủy quyền mới được có thể thực hiện các thao tác quan trọng và ảnh hưởng đến hệ thống.

Đặt breakpoint ở validate() ở RestoreAction.class

Screenshot 2024-03-24 081621

hàm lưu file được upload lên bằng getRestoreFileFromUpload

Screenshot (541)

getExportDescriptor được sử dụng để unzip và đọc nội dung của zip file

Screenshot (542)

Screenshot (543)

Tuy nhiên sau khi debug , vẫn chưa tìm được nguyên nhân gốc rễ của lỗ hổng

Nguyên nhân được mô tả trong CVE là lỗ hổng về ủy quyền . Điều này dẫn đến việc , chúng ta hướng chú ý đến các bài research về lỗ hổng của ngôn ngữ java trong quá trình developer phân quyền

Chuyển hướng chú ý sang tep struts.xml tệp này chứa thông tin về hành động và định tuyến dựa trên vùng tên cũng như các bộ chặn (interceptors) .

Screenshot 2024-03-24 082951

Screenshot 2024-03-24 083107

Screenshot 2024-03-24 083206

9

Ta thấy namespace /json tăng cường chức năng của namespace /admin. Do đó, các tuyến được tạo cho namespace /admin cũng có thể được truy cập thông qua namespace /json.

Trong ngữ cảnh của namespace /json,quá trình định tuyến yêu cầu bao gồm việc truyền qua một chuỗi các bộ chặn (interceptors) . Một trong những bộ chặn này, được gọi là WebSudoInterceptor, thực hiện kiểm tra dựa trên URI yêu cầu.

Cụ thể, WebSudoInterceptor thực hiện các bước kiểm tra sau:

Nếu đường dẫn yêu cầu là /authenticate.action thì sẽ bị bỏ qua. Nếu đường dẫn yêu cầu là /admin, nó sẽ kiểm tra xem thuộc tính WebSudoNotRequired có rỗng hay không.

Nếu một yêu cầu được gửi tới '/json' ,thì request tới '/json/action' sẽ được chuyển đến '/setup/action' và 'admin/action' . Trong CVE này, vulnerable path là / 'json/setup-restore.action?synchronous=true'

Bắt request burpsuite , GET /json/setup-restore.action . Tuy nhiên nhận được phản hồi "Method Not Allowed response" . Thử với việc POST /json/setup-restore.action?synchronous=true và nhận được phản hồi 200

10

11

Upload file xmlexport-200123123001.zip

12

lên và nhận phản hồi

13

Bây giờ cta có thể đăng nhập vào với account admin :admin

14

Và được kết quả như sau

15

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published